package com.rc.web.mapper;

import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.rc.pojo.dto.plant.PagePlantDTO;
import com.rc.pojo.po.Plant;
import com.rc.pojo.vo.plant.PlantPageVO;

import static com.rc.pojo.po.table.PlantTableDef.PLANT;

/**
 * 植物表 映射层。
 * 提供植物相关的数据库操作接口
 */
public interface PlantMapper extends BaseMapper<Plant> {

    /**
     * 分页查询植物信息
     * @param dto 分页查询条件
     * @return 分页结果
     */
    default Page<PlantPageVO> selectPage(PagePlantDTO dto){
        Page<PlantPageVO> page = Page.of(dto.getCurrent(), dto.getPageSize());
        return paginateAs(page,QueryWrapper.create()
                .where(PLANT.NAME.like(dto.getName()))
                .and(PLANT.TYPE.eq(dto.getType())), PlantPageVO.class);
    }
}
